﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

namespace yq.IService
{
    [ServiceContract]
    public interface IFile
    {
        /// <summary>
        /// 查询文件夹
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        IList<Model.Logic.FileList> SelectFile(Search.File.FileListSeek search);

        /// <summary>
        /// 查询文件版本列表
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        IList<Model.Logic.FileVer> SelectFileVer(string fileId);

        /// <summary>
        /// 查看权限列表
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        IList<Model.Logic.FilePurview> SelectFilePurview(string fileId);

        /// <summary>
        /// 添加文件
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        Dictionary.ReturnValue<string> AddFile(Model.Logic.FileList model, string fileId);

        /// <summary>
        /// 添加文件
        /// </summary>
        /// <returns></returns>
        [OperationContract]
         Dictionary.ReturnValue<string> AddFolder(Model.Logic.FileList model);

        /// <summary>
        /// 重新上传新的版本
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        Dictionary.ReturnValue<string> EditFileVer(string fileinfoId, Model.Logic.FileVer ver);

        /// <summary>
        /// 编辑文件信息
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        Dictionary.ReturnValue<string> EditFile(Model.Logic.FileList model);


        /// <summary>
        /// 删除到回收站
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        yq.Dictionary.ReturnValue<string> RecoverFlie(string fileId);

        /// <summary>
        /// 删除
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        yq.Dictionary.ReturnValue<string> DelFlie(string fileId);
    }
}
